home *** CD-ROM | disk | FTP | other *** search
Wrap
VERSION 2.00 Begin Form FBRunway BackColor = &H00C0C0C0& BorderStyle = 1 'Fixed Single Caption = "FileBoy's Runway 1.2c" ClientHeight = 1560 ClientLeft = 1335 ClientTop = 2730 ClientWidth = 6675 FontBold = 0 'False FontItalic = 0 'False FontName = "MS Sans Serif" FontSize = 8.25 FontStrikethru = 0 'False FontUnderline = 0 'False ForeColor = &H00000000& Height = 2250 Icon = FBRUNWAY.FRX:0000 Left = 1275 LinkMode = 1 'Source LinkTopic = "Form1" MaxButton = 0 'False ScaleHeight = 1560 ScaleWidth = 6675 Top = 2100 Width = 6795 Begin ComboBox RunLine BackColor = &H00FFFFFF& Height = 300 Left = 255 Sorted = -1 'True TabIndex = 0 Top = 615 Width = 6165 End Begin CommandButton BtnClose Caption = "Close" Height = 360 Left = 5325 TabIndex = 5 Top = -15 Width = 1365 End Begin CommandButton BtnRun Caption = "Run" Height = 360 Left = 3990 TabIndex = 4 Top = -15 Width = 1350 End Begin CommandButton BtnSave Caption = "Save" Height = 360 Left = 2655 TabIndex = 3 Top = -15 Width = 1350 End Begin CommandButton BtnDel Caption = "Remove" Height = 360 Left = 1320 TabIndex = 2 Top = -15 Width = 1350 End Begin CommandButton BtnAdd Caption = "Add" Height = 360 Left = -15 TabIndex = 1 Top = -15 Width = 1350 End Begin Label Label3 Alignment = 2 'Center BackColor = &H00C0C0C0& Caption = "On Use:" FontBold = 0 'False FontItalic = 0 'False FontName = "MS Sans Serif" FontSize = 8.25 FontStrikethru = 0 'False FontUnderline = 0 'False ForeColor = &H00000080& Height = 210 Left = 4860 TabIndex = 8 Top = 1170 Width = 1665 End Begin Label Label2 Alignment = 2 'Center BackColor = &H00C0C0C0& Caption = "Auto-Save:" FontBold = 0 'False FontItalic = 0 'False FontName = "MS Sans Serif" FontSize = 8.25 FontStrikethru = 0 'False FontUnderline = 0 'False ForeColor = &H00000080& Height = 210 Left = 3315 TabIndex = 7 Top = 1170 Width = 1485 End Begin Label Label1 Alignment = 2 'Center BackColor = &H00C0C0C0& Caption = "Run App:" FontBold = 0 'False FontItalic = 0 'False FontName = "MS Sans Serif" FontSize = 8.25 FontStrikethru = 0 'False FontUnderline = 0 'False ForeColor = &H00000080& Height = 210 Left = 150 TabIndex = 6 Top = 1170 Width = 3105 End Begin Menu MnuFile Caption = "&File" Begin Menu MRun Caption = "&Run" Shortcut = ^R End Begin Menu Sep1 Caption = "-" End Begin Menu MAdd Caption = "&Add" Shortcut = {F2} End Begin Menu MDel Caption = "Re&move" Shortcut = {F3} End Begin Menu MSave Caption = "&Save" Shortcut = ^S End Begin Menu Sep2 Caption = "-" End Begin Menu MAss Caption = "Associate" Shortcut = +{F9} End Begin Menu Sep3 Caption = "-" End Begin Menu MClose Caption = "&Close" Shortcut = ^C End End Begin Menu MnuOption Caption = "&Options" Begin Menu MnuRunApp Caption = "&Run App As..." Begin Menu MOpt Caption = "&1 Normal" Index = 1 Shortcut = +{F1} End Begin Menu MOpt Caption = "&2 Minimized" Index = 2 Shortcut = +{F2} End Begin Menu MOpt Caption = "&3 Maximized" Index = 3 Shortcut = +{F3} End Begin Menu MOpt Caption = "&4 Normal w/o Focus" Index = 4 Shortcut = +{F4} End Begin Menu MOpt Caption = "&5 Minimized w/o Focus" Index = 7 Shortcut = +{F5} End End Begin Menu Sep4 Caption = "-" End Begin Menu MnuOnUse Caption = "Action On Use..." Begin Menu MUse Caption = "&Close on Use" Index = 0 Shortcut = +{F6} End Begin Menu MUse Caption = "&Minimize" Index = 1 Shortcut = +{F7} End Begin Menu MUse Caption = "&Remain" Index = 2 Shortcut = +{F8} End End Begin Menu Sep5 Caption = "-" End Begin Menu MAuto Caption = "&Auto-Save on Close" Checked = -1 'True Shortcut = ^A End End Begin Menu MnuHelp Caption = "&Help" Begin Menu MHlp Caption = "&Index" Shortcut = {F1} End Begin Menu MHlp1 Caption = "&Help On Help" End Begin Menu Sep6 Caption = "-" End Begin Menu MInfo Caption = "&About" End End DefInt A-Z Dim ListChg As Integer Declare Function WinExec Lib "Kernel" (ByVal lpCmdLine As String, ByVal nCmdShow As Integer) As Integer Declare Sub BringWindowToTop Lib "User" (ByVal hWnd As Integer) Declare Function GetModuleHandle% Lib "Kernel" (ByVal lpProgramName$) Declare Function GetModuleUsage% Lib "Kernel" (ByVal hProgram%) Declare Function GetPrivateProfileInt Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Integer, ByVal lpFileName As String) As Integer Declare Function GetPrivateProfileString Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer Declare Function WritePrivateProfileString Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As Any, ByVal lplFileName As String) As Integer Declare Function GetClassWord Lib "User" (ByVal hWnd As Integer, ByVal nIndex As Integer) As Integer Const GCW_HMODULE = (-16) Declare Function GetModuleFileName Lib "Kernel" (ByVal hModule As Integer, ByVal lpFileName As String, ByVal nSize As Integer) As Integer Declare Function WinHelp Lib "User" (ByVal hWnd As Integer, ByVal lpHelpFile As String, ByVal wCommand As Integer, dwData As Any) As Integer Const HQUIT = 2 Const HINDEX = 3 Const HHELP = 4 Sub AddIt () NL$ = Chr$(13) + Chr$(10) Tit$ = "Add Item Error" If RunLine.Text = "" Then Msg$ = "No application entered!" Beep MsgBox Msg$, 48, Tit$ RunLine.SetFocus Exit Sub End If If RunLine.ListCount >= 50 Then Msg$ = "Sorry!" + NL$ + NL$ Msg$ = Msg$ + "The applications list is already at" + NL$ Msg$ = Msg$ + "the maximum number allowed (50)." + NL$ + NL$ Msg$ = Msg$ + "You will have to delete one before" + NL$ Msg$ = Msg$ + "another can be added." Beep MsgBox Msg$, 48, Tit$ RunLine.SetFocus Exit Sub End If Rline$ = LTrim$(RTrim$(RunLine.Text)) RunLine.AddItem Rline$ ListChg = True RunLine.SetFocus End Sub Sub BtnAdd_Click () AddIt End Sub Sub BtnClose_Click () Closer End End Sub Sub BtnDel_Click () DelIt End Sub Sub BtnRun_Click () Runner End Sub Sub BtnSave_Click () SendRunCfg RunLine.SetFocus End Sub Sub Closer () NL$ = Chr$(13) + Chr$(10) If MAuto.Checked = True Then SendRunCfg If MAuto.Checked = False And ListChg = True Then Msg$ = "Your Application List has changed." + NL$ + NL$ Msg$ = Msg$ + "Do you wish to save the changes?" Tit$ = "Save Configuration?" Beep Res = MsgBox(Msg$, 52, Tit$) If Res = 6 Then SendRunCfg End If Unload AboutIt Unload Register Unload RWAssoc Fil$ = "" Y = WinHelp(FBRunWay.hWnd, Fil$, HQUIT, ByVal 0&) End Sub Sub DelIt () NL$ = Chr$(13) + Chr$(10) If RunLine.Text = "" Then Msg$ = "No applications to remove!" Tit$ = "Remove Item Error" Beep MsgBox Msg$, 48, Tit$ RunLine.SetFocus Exit Sub End If Rlin = RunLine.ListIndex If Rlin < 0 Then Msg$ = "The application on the" + NL$ Msg$ = Msg$ + "command line has not" + NL$ Msg$ = Msg$ + "been added to the list." Tit$ = "Application Delete Error" Beep MsgBox Msg$, 48, Tit$ RunLine.SetFocus Exit Sub End If ListChg = True RunLine.RemoveItem Rlin RunLine.SetFocus End Sub Sub Form_Load () NL$ = Chr$(13) + Chr$(10) ListChg = False Hw% = GetModuleHandle("fbrunway.exe") If GetModuleUsage(Hw%) > 1 Then Msg$ = "Runway is already running!" Tit$ = "FileBoy's Runway v. 1.2c" Beep MsgBox Msg$, 48, title$ Unload FBRunWay End End If Register.Show 1 TheApp$ = "Runway" X1 = (Screen.Width - FBRunWay.Width) / 2 Y1 = (Screen.Height - FBRunWay.Height) / 3 LPos = GetINIInt(TheApp$, "Left", X1) TPos = GetINIInt(TheApp$, "Top", Y1) FBRunWay.Left = LPos FBRunWay.Top = TPos Au = GetINIInt(TheApp$, "AutoSave", 0) Select Case Au Case 0 MAuto.Checked = False Label2.Caption = "Auto-Save: Off" Case 1 MAuto.Checked = True Label2.Caption = "Auto-Save: On" End Select ZZ = GetINIInt(TheApp$, "RunApp", 1) MOpt(ZZ).Checked = True Beg$ = "Run App: " Select Case ZZ Case 1 Label1.Caption = Beg$ + "Normal with Focus" Case 2 Label1.Caption = Beg$ + "Minimized with Focus" Case 3 Label1.Caption = Beg$ + "Maximized" Case 4 Label1.Caption = Beg$ + "Normal without Focus" Case 7 Label1.Caption = Beg$ + "Minimized without Focus" End Select YY = GetINIInt(TheApp$, "ActOnUse", 0) MUSe(YY).Checked = True Beg$ = "On Use: " Select Case YY Case 0 Label3.Caption = Beg$ + "Close" Case 1 Label3.Caption = Beg$ + "Minimize" Case 2 Label3.Caption = Beg$ + "Remain" End Select PCnt = GetINIInt(TheApp$, "ProgCount", 0) If PCnt = 0 Then GoTo Done For X = 1 To PCnt KeNm$ = "Program" + LTrim$(RTrim$(Str$(X))) TheName$ = GetINIStr(TheApp$, KeNm$, "NONE") TheName$ = LTrim$(RTrim$(TheName$)) If TheName$ = "NONE" Then Exit For RunLine.AddItem TheName$ Next X Done: End Sub Sub Form_Paint () FrameBarFrm FBRunWay, BtnAdd FrameCtrl FBRunWay, RunLine, RunLine, RunLine, RunLine FrameLeftStat FBRunWay, Label1 FrameMidStat FBRunWay, Label2 FrameRightStat FBRunWay, Label3 End Sub Sub Form_Resize () Select Case FBRunWay.WindowState Case 0 RunLine.SetFocus FBRunWay.Caption = "FileBoy's Runway 1.2c" Case 1 FBRunWay.Caption = "Runway 1.2c" End Select End Sub Sub Form_Unload (Cancel As Integer) Closer End Sub Sub GetHelp (HType As Integer) Select Case HType Case HINDEX Fil$ = String$(255, 0) hModule = GetClassWord(FBRunWay.hWnd, GCW_HMODULE) FLength& = GetModuleFileName(hModule, Fil$, 255) Fil$ = LTrim$(RTrim$(Left$(Fil$, FLength& - 12))) Fil$ = Fil$ + LTrim$(RTrim$("fbrunway.hlp")) X = WinHelp(FBRunWay.hWnd, Fil$, HINDEX, ByVal 0&) Case HHELP Fil$ = "" Z = WinHelp(FBRunWay.hWnd, Fil$, HHELP, ByVal 0&) End Select Fil$ = "" End Sub Function GetINIInt (App As String, Key As String, KeyDef As Integer) As Integer File$ = "FILEBOY.INI" App = LTrim$(RTrim$(App)) Key = LTrim$(RTrim$(Key)) GetINIInt = GetPrivateProfileInt(App, Key, KeyDef, File$) End Function Function GetINIStr (App As String, Key As String, Def As String) As String File$ = "fileboy.ini" App = LTrim$(RTrim$(App)) Key = LTrim$(RTrim$(Key)) Def = LTrim$(RTrim$(Def)) Hold$ = String$(255, 0) ZZZ = GetPrivateProfileString(App, Key, Def, Hold$, 255, File$) Hold$ = LTrim$(RTrim$(Left$(Hold$, ZZZ))) GetINIStr = Hold$ Hold$ = "" End Function Sub MAdd_Click () AddIt End Sub Sub MAss_Click () RWAssoc.Show 1 End Sub Sub MAuto_Click () If MAuto.Checked = False Then MAuto.Checked = True Label2.Caption = "Auto-Save: On" Else MAuto.Checked = False Label2.Caption = "Auto-Save: Off" End If End Sub Sub MClose_Click () Closer Unload AboutIt Unload Register End End Sub Sub MDel_Click () DelIt End Sub Sub MHlp_Click () GetHelp (HINDEX) End Sub Sub MHlp1_Click () GetHelp (HHELP) End Sub Sub MInfo_Click () AboutIt.Show 1 RunLine.SetFocus End Sub Sub MOpt_Click (Index As Integer) MOpt(Index).Checked = True For X = 1 To 4 If X <> Index Then MOpt(X).Checked = False Next X If Index <> 7 Then MOpt(7).Checked = False Beg$ = "Run App: " Select Case Index Case 1 Label1.Caption = Beg$ + "Normal with Focus" Case 2 Label1.Caption = Beg$ + "Minimized with Focus" Case 3 Label1.Caption = Beg$ + "Maximized" Case 4 Label1.Caption = Beg$ + "Normal without Focus" Case 7 Label1.Caption = Beg$ + "Minimized without Focus" End Select End Sub Sub MRun_Click () Runner End Sub Sub MSave_Click () SendRunCfg RunLine.SetFocus End Sub Sub MUse_Click (Index As Integer) Beg$ = "On Use: " Select Case Index Case 0 MUSe(0).Checked = True MUSe(1).Checked = False MUSe(2).Checked = False Label3.Caption = Beg$ + "Close" Case 1 MUSe(1).Checked = True MUSe(0).Checked = False MUSe(2).Checked = False Label3.Caption = Beg$ + "Minimize" Case 2 MUSe(2).Checked = True MUSe(0).Checked = False MUSe(1).Checked = False Label3.Caption = Beg$ + "Remain" End Select End Sub Function PutINI (App As String, Key As String, KeyVal As String) As Integer File$ = "FILEBOY.INI" App = LTrim$(RTrim$(App)) Key = LTrim$(RTrim$(Key)) KeyVal = LTrim$(RTrim$(KeyVal)) If Len(KeyVal) Then XYZ = WritePrivateProfileString(App$, Key$, ByVal KeyVal$, File$) Else XYZ = WritePrivateProfileString(App$, Key$, ByVal 0&, File$) End If Select Case XYZ Case 0 PutINI = False Case Else PutINI = True End Select End Function Sub RunLine_KeyPress (KeyAscii As Integer) If KeyAscii = (13) Then Runner End Sub Sub Runner () NL$ = Chr$(13) + Chr$(10) title$ = "Runway!" App$ = LTrim$(RTrim$(RunLine.Text)) If App$ = "" Then Msg$ = "Pilot Error!" + NL$ + NL$ + "You must first enter/place an" + NL$ Msg$ = Msg$ + "application or file on the Runline." + NL$ Beep MsgBox Msg$, 48, title$ RunLine.SetFocus Exit Sub End If Spa$ = (" ") Pos = InStr(1, App$, Spa$) If Pos = 0 Then Dot$ = "." Pos1 = InStr(1, App$, Dot$) If Pos1 > 1 Then Ext$ = Right$(App$, Len(App$) - Pos1) If Ext$ <> "exe" And Ext$ <> "com" And Ext$ <> "bat" And Ext$ <> "pif" Then Tmp$ = LTrim$(RTrim$(GetWinStr("extensions", Ext$, ""))) If Len(Tmp$) Then Pos = InStr(1, Tmp$, Chr$(32)) Tmp$ = Left$(Tmp$, Pos - 1) App$ = Tmp$ + Chr$(32) + App$ Else Msg$ = "No programs are associated with this file." MsgBox Msg$, 48 Exit Sub End If End If End If End If Hw = GetModuleHandle(App$) If GetModuleUsage(Hw) >= 1 Then Msg$ = "The application" + NL$ + NL$ + UCase$(App$) + NL$ + NL$ Msg$ = Msg$ + "is already running! Do you" + NL$ Msg$ = Msg$ + "want to try to run another" + NL$ Msg$ = Msg$ + "instance of the program?" + NL$ + NL$ Msg$ = Msg$ + "(Not all programs allow this.)" + NL$ Beep Res% = MsgBox(Msg$, 292, title$) Select Case Res% Case 6 GoTo DoIt Case 7 RunLine.SetFocus GoTo GetOut End Select End If DoIt: Select Case True Case MOpt(1).Checked Zx = 1 Case MOpt(2).Checked Zx = 2 Case MOpt(3).Checked Zx = 3 Case MOpt(4).Checked Zx = 4 Case MOpt(7).Checked Zx = 7 End Select Select Case True Case MUSe(1).Checked RunLine.SetFocus FBRunWay.WindowState = 1 Case MUSe(2).Checked RunLine.SetFocus End Select On Error Resume Next If WinExec(App$, Zx) < 32 Then Msg$ = "Error!" + NL$ + NL$ + "Unable to run/load the application." + NL$ + NL$ Msg$ = Msg$ + UCase$(App$) + NL$ + NL$ + "Make sure the [path]\filename was" + NL$ Msg$ = Msg$ + "entered correctly and try again." + NL$ Beep MsgBox Msg$, 16, title$ RunLine.SetFocus Exit Sub End If If MUSe(0).Checked = True Then Unload AboutIt Unload Register Closer End End If If MUSe(2).Checked = True And MOpt(4).Checked = True Then BringWindowToTop (FBRunWay.hWnd) End If GetOut: End Sub Sub SendRunCfg () NL$ = Chr$(13) + Chr$(10) Msg$ = "Unable to save the settings for" + NL$ + NL$ Tit$ = "Write ERROR!" AName$ = "Runway" X1 = FBRunWay.Left Stat = PutINI(AName$, "Left", Str$(X1)) Y1 = FBRunWay.Top Stat = PutINI(AName$, "Top", Str$(Y1)) If Stat = False Then Msg$ = Msg$ + "Screen Position" + NL$ Stat1 = PutINI(AName$, "AutoSave", Str$(Abs(MAuto.Checked))) If Stat1 = False Then Msg$ = Msg$ + "Auto-Save On Close" + NL$ Select Case True Case MOpt(1).Checked KVl$ = Str$(1) Case MOpt(2).Checked KVl$ = Str$(2) Case MOpt(3).Checked KVl$ = Str$(3) Case MOpt(4).Checked KVl$ = Str$(4) Case MOpt(7).Checked KVl$ = Str$(7) End Select Stat2 = PutINI(AName$, "RunApp", KVl$) If Stat2 = False Then Msg$ = Msg$ + "Run On Start-Up" + NL$ For X = 0 To 2 If MUSe(X).Checked Then KVl$ = Str$(X) Next X Stat3 = PutINI(AName$, "ActOnUse", KVl$) If Stat3 = False Then Msg$ = Msg$ + "Action On Use" + NL$ OldNum = GetINIInt(AName$, "ProgCount", 0) NewNum = RunLine.ListCount If OldNum > NewNum Then For cc = (NewNum + 1) To OldNum KNm$ = "Program" + LTrim$(RTrim$(Str$(cc))) Duh = PutINI(AName$, KNm$, "") Next End If Stat4 = PutINI(AName$, "ProgCount", Str$(NewNum)) If Stat4 = False Then Msg$ = Msg$ + "ProgCount" + NL$ For X = 1 To NewNum KNm$ = "Program" + LTrim$(RTrim$(Str$(X))) KVl$ = RunLine.list(X - 1) Stat5 = PutINI(AName$, KNm$, KVl$) If Stat5 = False Then Msg$ = Msg$ + KNm$ + NL$ Next X If NewNum = 0 Then Stat5 = True Msg$ = Msg$ + NL$ + "Please make sure that the" + NL$ Msg$ = Msg$ + "FILEBOY.INI file is in" + NL$ Msg$ = Msg$ + "your Windows directory." If Stat1 = False Or Stat2 = False Or Stat3 = False Or Stat4 = False Or Stat5 = False Then Beep MsgBox Msg$, 16, Tit$ End If ListChg = False End Sub